home *** CD-ROM | disk | FTP | other *** search
- Submitted-by: gwyn@smoke.brl.mil (Doug Gwyn)
-
- In further off-line discussion with Mike Wulkan, another bug in my
- abort() implementation turned up. It is necessary to TEST whether
- or not SIGABRT is blocked before unblocking it, and if it had been
- blocked upon entry to abort() then sigfunc needs to be replaced by
- SIG_DFL. (In other words, a signal handler function should NOT be
- invoked when SIGABRT was blocked.) Since I don't have the POSIX.1
- specs at hand at the moment, I'm not providing a code patch, but
- from the description here you should be able to fix it yourself.
- Or, contact me later once I have had a chance to look up the right
- function calls.
-
- Another note: Although I'm not sure Mike is convinced yet, I
- maintain that raise() is specified in the C standard as acting
- synchronously, which pretty well moots the issue he raised. If
- the POSIX requirement on its implementation as kill(getpid(),)
- leads to problems, then raise() needs to tap into the process
- signal vector and directly call the handler function, which meets
- the spirit of the POSIX specification and the literal reading of
- the C standard's specification.
-
- Why are the POSIX people not coordinating with the C standard
- committee(s) when they come up with this stuff?
-
- Volume-Number: Volume 31, Number 59
-
-